//直接操作sql
const fs = require("fs");
const db = require('./config/SequelizeBase');
const db_file = __dirname+'\\sql\\vue-mall.sql';

//读出文件
let fileStr = fs.readFileSync(db_file,{encoding:"UTF-8"});
if(!fileStr){
  console.log("file not existed!")
  return ;
}
/**
 * 下面的一些复杂操作是由于使用sequelize去创建，一直报错，所以进行了各种的SQL处理 ,最后直接换mysql2
 * 最后根据关键词去查询，得到可以设置参数：
 * new Sequelize(..., {
  dialectOptions: {
    multipleStatements: true
  }
})
 */

// fileStr = fileStr.split(linebreak).filter(line =>{
//   return !line.startsWith("--")
// }).join("");
//
// fileStr = fileStr.toString();
// console.log("===============================")
//
// fileStr = fileStr.replace(new RegExp(linebreak,'g'),"");
//
// fileStr = fileStr.replace(/(\/\*{1,2}[\s\S]*?\*\/)|(\/\/[\s\S]*?\n)/,"");
// fileStr = fileStr.replace(/(\/\*)/g,"");
// fileStr = fileStr.replace(/(\*\/)/g,"");
// fileStr = fileStr.replace(/\\\'/g,"'");

db.proto_query(fileStr).then(()=>{
  console.log("init db from sql !")
}).catch(e =>{
  console.error(`failed in init db from sql ${e}`)
}).finally(() => {
  process.exit(0)
});

/**
 * 使用mysql2来直接操作，因为有直接执行多条的设置，所以就尝试了一下
 */
// const config = require('./config/config');
// const mysql = require("mysql2");
//
// // create the connection to database
// const connection = mysql.createConnection({
//   host:config.host,
//   user: config.username,
//   password:config.password,
//   database: config.database,
//   multipleStatements: true
// });
//
// connection.query(fileStr,function (err, results, fields) {
//   console.log(JSON.stringify(results));
//   console.log(JSON.stringify(err));
//   if(err){
//     console.log(err);
//     process.exit(0)
//   }
// });
// connection.end(function (e) {
//   console.log("释放资源！")
// });
